all:tcmalloc.exe
tcmalloc.exe:common.o MemoryPool.hpp PageMap.hpp ConcurrentAlloc.h ThreadCache.o CentralCache.o PageCache.o main.o
	g++ -std=c++20 $^ -o $@
common.o:common.cpp
	g++ -std=c++20 -c $^
ThreadCache.o:ThreadCache.cpp
	g++ -std=c++20 -c $^
CentralCache.o:CentralCache.cpp
	g++ -std=c++20 -c $^
PageCache.o:PageCache.cpp
	g++ -std=c++20 -c $^
main.o:main.cpp
	g++ -std=c++20 -c $^

.PHONY:clean
clean:
	rm -rf tcmalloc.exe *.o *.gch
